home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / Warp3D / Developer / Include / inline / Warp3D.h
Encoding:
C/C++ Source or Header  |  1999-02-06  |  11.9 KB  |  302 lines

  1. /* Automatically generated header! Do not edit! */
  2.  
  3. #ifndef _INLINE_WARP3D_H
  4. #define _INLINE_WARP3D_H
  5.  
  6. #ifndef __INLINE_MACROS_H
  7. #include <inline/macros.h>
  8. #endif /* !__INLINE_MACROS_H */
  9.  
  10. #ifndef WARP3D_BASE_NAME
  11. #define WARP3D_BASE_NAME Warp3DBase
  12. #endif /* !WARP3D_BASE_NAME */
  13.  
  14. #define W3D_AllocStencilBuffer(context) \
  15.     LP1(0xfc, ULONG, W3D_AllocStencilBuffer, W3D_Context *, context, a0, \
  16.     , WARP3D_BASE_NAME)
  17.  
  18. #define W3D_AllocTexObj(context, error, ATOTags) \
  19.     LP3(0x60, W3D_Texture    *, W3D_AllocTexObj, W3D_Context *, context, a0, ULONG *, error, a1, struct TagItem *, ATOTags, a2, \
  20.     , WARP3D_BASE_NAME)
  21.  
  22. #ifndef NO_INLINE_STDARG
  23. #define W3D_AllocTexObjTags(a0, a1, tags...) \
  24.     ({ULONG _tags[] = { tags }; W3D_AllocTexObj((a0), (a1), (struct TagItem *)_tags);})
  25. #endif /* !NO_INLINE_STDARG */
  26.  
  27. #define W3D_AllocZBuffer(context) \
  28.     LP1(0xd8, ULONG, W3D_AllocZBuffer, W3D_Context *, context, a0, \
  29.     , WARP3D_BASE_NAME)
  30.  
  31. #define W3D_CheckDriver() \
  32.     LP0(0x36, ULONG, W3D_CheckDriver, \
  33.     , WARP3D_BASE_NAME)
  34.  
  35. #define W3D_CheckIdle(context) \
  36.     LP1(0x4e, ULONG, W3D_CheckIdle, W3D_Context *, context, a0, \
  37.     , WARP3D_BASE_NAME)
  38.  
  39. #define W3D_ClearStencilBuffer(context, clearval) \
  40.     LP2(0x102, ULONG, W3D_ClearStencilBuffer, W3D_Context *, context, a0, ULONG *, clearval, a1, \
  41.     , WARP3D_BASE_NAME)
  42.  
  43. #define W3D_ClearZBuffer(context, clearvalue) \
  44.     LP2(0xe4, ULONG, W3D_ClearZBuffer, W3D_Context *, context, a0, W3D_Double *, clearvalue, a1, \
  45.     , WARP3D_BASE_NAME)
  46.  
  47. #define W3D_CreateContext(error, CCTags) \
  48.     LP2(0x1e, W3D_Context    *, W3D_CreateContext, ULONG *, error, a0, struct TagItem *, CCTags, a1, \
  49.     , WARP3D_BASE_NAME)
  50.  
  51. #ifndef NO_INLINE_STDARG
  52. #define W3D_CreateContextTags(a0, tags...) \
  53.     ({ULONG _tags[] = { tags }; W3D_CreateContext((a0), (struct TagItem *)_tags);})
  54. #endif /* !NO_INLINE_STDARG */
  55.  
  56. #define W3D_DestroyContext(context) \
  57.     LP1NR(0x24, W3D_DestroyContext, W3D_Context *, context, a0, \
  58.     , WARP3D_BASE_NAME)
  59.  
  60. #define W3D_DrawLine(context, line) \
  61.     LP2(0x96, ULONG, W3D_DrawLine, W3D_Context *, context, a0, W3D_Line *, line, a1, \
  62.     , WARP3D_BASE_NAME)
  63.  
  64. #define W3D_DrawLineLoop(context, lines) \
  65.     LP2(0x18c, ULONG, W3D_DrawLineLoop, W3D_Context *, context, a0, W3D_Lines *, lines, a1, \
  66.     , WARP3D_BASE_NAME)
  67.  
  68. #define W3D_DrawLineStrip(context, lines) \
  69.     LP2(0x186, ULONG, W3D_DrawLineStrip, W3D_Context *, context, a0, W3D_Lines *, lines, a1, \
  70.     , WARP3D_BASE_NAME)
  71.  
  72. #define W3D_DrawPoint(context, point) \
  73.     LP2(0x9c, ULONG, W3D_DrawPoint, W3D_Context *, context, a0, W3D_Point *, point, a1, \
  74.     , WARP3D_BASE_NAME)
  75.  
  76. #define W3D_DrawTriFan(context, triangles) \
  77.     LP2(0xa8, ULONG, W3D_DrawTriFan, W3D_Context *, context, a0, W3D_Triangles *, triangles, a1, \
  78.     , WARP3D_BASE_NAME)
  79.  
  80. #define W3D_DrawTriStrip(context, triangles) \
  81.     LP2(0xae, ULONG, W3D_DrawTriStrip, W3D_Context *, context, a0, W3D_Triangles *, triangles, a1, \
  82.     , WARP3D_BASE_NAME)
  83.  
  84. #define W3D_DrawTriangle(context, triangle) \
  85.     LP2(0xa2, ULONG, W3D_DrawTriangle, W3D_Context *, context, a0, W3D_Triangle *, triangle, a1, \
  86.     , WARP3D_BASE_NAME)
  87.  
  88. #define W3D_FillStencilBuffer(context, x, y, width, height, depth, data) \
  89.     LP7(0x108, ULONG, W3D_FillStencilBuffer, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, width, d2, ULONG, height, d3, ULONG, depth, d4, void *, data, a1, \
  90.     , WARP3D_BASE_NAME)
  91.  
  92. #define W3D_Flush(context) \
  93.     LP1(0x138, ULONG, W3D_Flush, W3D_Context *, context, a0, \
  94.     , WARP3D_BASE_NAME)
  95.  
  96. #define W3D_FlushFrame(context) \
  97.     LP1NR(0x1b0, W3D_FlushFrame, W3D_Context *, context, a0, \
  98.     , WARP3D_BASE_NAME)
  99.  
  100. #define W3D_FlushTextures(context) \
  101.     LP1NR(0x72, W3D_FlushTextures, W3D_Context *, context, a0, \
  102.     , WARP3D_BASE_NAME)
  103.  
  104. #define W3D_FreeAllTexObj(context) \
  105.     LP1(0x17a, ULONG, W3D_FreeAllTexObj, W3D_Context *, context, a0, \
  106.     , WARP3D_BASE_NAME)
  107.  
  108. #define W3D_FreeStencilBuffer(context) \
  109.     LP1(0x10e, ULONG, W3D_FreeStencilBuffer, W3D_Context *, context, a0, \
  110.     , WARP3D_BASE_NAME)
  111.  
  112. #define W3D_FreeTexObj(context, texture) \
  113.     LP2NR(0x66, W3D_FreeTexObj, W3D_Context *, context, a0, W3D_Texture *, texture, a1, \
  114.     , WARP3D_BASE_NAME)
  115.  
  116. #define W3D_FreeZBuffer(context) \
  117.     LP1(0xde, ULONG, W3D_FreeZBuffer, W3D_Context *, context, a0, \
  118.     , WARP3D_BASE_NAME)
  119.  
  120. #define W3D_GetDestFmt() \
  121.     LP0(0x180, ULONG, W3D_GetDestFmt, \
  122.     , WARP3D_BASE_NAME)
  123.  
  124. #define W3D_GetDriverState(context) \
  125.     LP1(0x132, ULONG, W3D_GetDriverState, W3D_Context *, context, a0, \
  126.     , WARP3D_BASE_NAME)
  127.  
  128. #define W3D_GetDriverTexFmtInfo(driver, format, destfmt) \
  129.     LP3(0x19e, ULONG, W3D_GetDriverTexFmtInfo, W3D_Driver*, driver, a0, ULONG, format, d0, ULONG, destfmt, d1, \
  130.     , WARP3D_BASE_NAME)
  131.  
  132. #define W3D_GetDrivers() \
  133.     LP0(0x192, W3D_Driver **, W3D_GetDrivers, \
  134.     , WARP3D_BASE_NAME)
  135.  
  136. #define W3D_GetState(context, state) \
  137.     LP2(0x2a, ULONG, W3D_GetState, W3D_Context *, context, a0, ULONG, state, d1, \
  138.     , WARP3D_BASE_NAME)
  139.  
  140. #define W3D_GetTexFmtInfo(context, format, destfmt) \
  141.     LP3(0x5a, ULONG, W3D_GetTexFmtInfo, W3D_Context *, context, a0, ULONG, format, d0, ULONG, destfmt, d1, \
  142.     , WARP3D_BASE_NAME)
  143.  
  144. #define W3D_Hint(context, mode, quality) \
  145.     LP3(0x126, ULONG, W3D_Hint, W3D_Context *, context, a0, ULONG, mode, d0, ULONG, quality, d1, \
  146.     , WARP3D_BASE_NAME)
  147.  
  148. #define W3D_LockHardware(context) \
  149.     LP1(0x3c, ULONG, W3D_LockHardware, W3D_Context *, context, a0, \
  150.     , WARP3D_BASE_NAME)
  151.  
  152. #define W3D_Query(context, query, destfmt) \
  153.     LP3(0x54, ULONG, W3D_Query, W3D_Context *, context, a0, ULONG, query, d0, ULONG, destfmt, d1, \
  154.     , WARP3D_BASE_NAME)
  155.  
  156. #define W3D_QueryDriver(driver, query, destfmt) \
  157.     LP3(0x198, ULONG, W3D_QueryDriver, W3D_Driver*, driver, a0, ULONG, query, d0, ULONG, destfmt, d1, \
  158.     , WARP3D_BASE_NAME)
  159.  
  160. #define W3D_ReadStencilPixel(context, x, y, st) \
  161.     LP4(0x114, ULONG, W3D_ReadStencilPixel, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG *, st, a1, \
  162.     , WARP3D_BASE_NAME)
  163.  
  164. #define W3D_ReadStencilSpan(context, x, y, n, st) \
  165.     LP5(0x11a, ULONG, W3D_ReadStencilSpan, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, n, d2, ULONG, st, a1, \
  166.     , WARP3D_BASE_NAME)
  167.  
  168. #define W3D_ReadZPixel(context, x, y, z) \
  169.     LP4(0xea, ULONG, W3D_ReadZPixel, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, W3D_Double *, z, a1, \
  170.     , WARP3D_BASE_NAME)
  171.  
  172. #define W3D_ReadZSpan(context, x, y, n, z) \
  173.     LP5(0xf0, ULONG, W3D_ReadZSpan, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, n, d2, W3D_Double, z, a1, \
  174.     , WARP3D_BASE_NAME)
  175.  
  176. #define W3D_ReleaseTexture(context, texture) \
  177.     LP2NR(0x6c, W3D_ReleaseTexture, W3D_Context *, context, a0, W3D_Texture *, texture, a1, \
  178.     , WARP3D_BASE_NAME)
  179.  
  180. #define W3D_RequestMode(taglist) \
  181.     LP1(0x1a4, ULONG, W3D_RequestMode, struct TagItem *, taglist, a0, \
  182.     , WARP3D_BASE_NAME)
  183.  
  184. #ifndef NO_INLINE_STDARG
  185. #define W3D_RequestModeTags(tags...) \
  186.     ({ULONG _tags[] = { tags }; W3D_RequestMode((struct TagItem *)_tags);})
  187. #endif /* !NO_INLINE_STDARG */
  188.  
  189. #define W3D_SetAlphaMode(context, mode, refval) \
  190.     LP3(0xb4, ULONG, W3D_SetAlphaMode, W3D_Context *, context, a0, ULONG, mode, d1, W3D_Float *, refval, a1, \
  191.     , WARP3D_BASE_NAME)
  192.  
  193. #define W3D_SetBlendMode(context, srcfunc, dstfunc) \
  194.     LP3(0xba, ULONG, W3D_SetBlendMode, W3D_Context *, context, a0, ULONG, srcfunc, d0, ULONG, dstfunc, d1, \
  195.     , WARP3D_BASE_NAME)
  196.  
  197. #define W3D_SetColorMask(context, red, green, blue, alpha) \
  198.     LP5(0xcc, ULONG, W3D_SetColorMask, W3D_Context *, context, a0, W3D_Bool, red, d0, W3D_Bool, green, d1, W3D_Bool, blue, d2, W3D_Bool, alpha, d3, \
  199.     , WARP3D_BASE_NAME)
  200.  
  201. #define W3D_SetCurrentColor(context, color) \
  202.     LP2(0x168, ULONG, W3D_SetCurrentColor, W3D_Context *, context, a0, W3D_Color *, color, a1, \
  203.     , WARP3D_BASE_NAME)
  204.  
  205. #define W3D_SetCurrentPen(context, pen) \
  206.     LP2(0x16e, ULONG, W3D_SetCurrentPen, W3D_Context *, context, a0, ULONG, pen, d1, \
  207.     , WARP3D_BASE_NAME)
  208.  
  209. #define W3D_SetDrawRegion(context, bm, yoffset, scissor) \
  210.     LP4(0xc0, ULONG, W3D_SetDrawRegion, W3D_Context *, context, a0, struct BitMap *, bm, a1, int, yoffset, d1, W3D_Scissor *, scissor, a2, \
  211.     , WARP3D_BASE_NAME)
  212.  
  213. #define W3D_SetDrawRegionWBM(context, bitmap, scissor) \
  214.     LP3(0x12c, ULONG, W3D_SetDrawRegionWBM, W3D_Context *, context, a0, W3D_Bitmap *, bitmap, a1, W3D_Scissor *, scissor, a2, \
  215.     , WARP3D_BASE_NAME)
  216.  
  217. #define W3D_SetFilter(context, texture, min, mag) \
  218.     LP4(0x78, ULONG, W3D_SetFilter, W3D_Context *, context, a0, W3D_Texture *, texture, a1, ULONG, min, d0, ULONG, mag, d1, \
  219.     , WARP3D_BASE_NAME)
  220.  
  221. #define W3D_SetFogParams(context, fogparams, fogmode) \
  222.     LP3(0xc6, ULONG, W3D_SetFogParams, W3D_Context *, context, a0, W3D_Fog *, fogparams, a1, ULONG, fogmode, d1, \
  223.     , WARP3D_BASE_NAME)
  224.  
  225. #define W3D_SetLogicOp(context, operation) \
  226.     LP2(0x120, ULONG, W3D_SetLogicOp, W3D_Context *, context, a0, ULONG, operation, d1, \
  227.     , WARP3D_BASE_NAME)
  228.  
  229. #define W3D_SetPenMask(context, pen) \
  230.     LP2(0x13e, ULONG, W3D_SetPenMask, W3D_Context *, context, a0, ULONG, pen, d1, \
  231.     , WARP3D_BASE_NAME)
  232.  
  233. #define W3D_SetScissor(context, scissor) \
  234.     LP2NR(0x1aa, W3D_SetScissor, W3D_Context *, context, a0, W3D_Scissor *, scissor, a1, \
  235.     , WARP3D_BASE_NAME)
  236.  
  237. #define W3D_SetState(context, state, action) \
  238.     LP3(0x30, ULONG, W3D_SetState, W3D_Context *, context, a0, ULONG, state, d0, ULONG, action, d1, \
  239.     , WARP3D_BASE_NAME)
  240.  
  241. #define W3D_SetStencilFunc(context, func, refvalue, mask) \
  242.     LP4(0xd2, ULONG, W3D_SetStencilFunc, W3D_Context *, context, a0, ULONG, func, d0, ULONG, refvalue, d1, ULONG, mask, d2, \
  243.     , WARP3D_BASE_NAME)
  244.  
  245. #define W3D_SetStencilOp(context, sfail, dpfail, dppass) \
  246.     LP4(0x144, ULONG, W3D_SetStencilOp, W3D_Context *, context, a0, ULONG, sfail, d0, ULONG, dpfail, d1, ULONG, dppass, d2, \
  247.     , WARP3D_BASE_NAME)
  248.  
  249. #define W3D_SetTexEnv(context, texture, envparam, envcolor) \
  250.     LP4(0x7e, ULONG, W3D_SetTexEnv, W3D_Context *, context, a0, W3D_Texture *, texture, a1, ULONG, envparam, d1, W3D_Color *, envcolor, a2, \
  251.     , WARP3D_BASE_NAME)
  252.  
  253. #define W3D_SetWrapMode(context, texture, mode_s, mode_t, bordercolor) \
  254.     LP5(0x84, ULONG, W3D_SetWrapMode, W3D_Context *, context, a0, W3D_Texture *, texture, a1, ULONG, mode_s, d0, ULONG, mode_t, d1, W3D_Color *, bordercolor, a2, \
  255.     , WARP3D_BASE_NAME)
  256.  
  257. #define W3D_SetWriteMask(context, mask) \
  258.     LP2(0x14a, ULONG, W3D_SetWriteMask, W3D_Context *, context, a0, ULONG, mask, d1, \
  259.     , WARP3D_BASE_NAME)
  260.  
  261. #define W3D_SetZCompareMode(context, mode) \
  262.     LP2(0xf6, ULONG, W3D_SetZCompareMode, W3D_Context *, context, a0, ULONG, mode, d1, \
  263.     , WARP3D_BASE_NAME)
  264.  
  265. #define W3D_UnLockHardware(context) \
  266.     LP1NR(0x42, W3D_UnLockHardware, W3D_Context *, context, a0, \
  267.     , WARP3D_BASE_NAME)
  268.  
  269. #define W3D_UpdateTexImage(context, texture, teximage, level, palette) \
  270.     LP5(0x8a, ULONG, W3D_UpdateTexImage, W3D_Context *, context, a0, W3D_Texture *, texture, a1, void *, teximage, a2, int, level, d1, ULONG *, palette, a3, \
  271.     , WARP3D_BASE_NAME)
  272.  
  273. #define W3D_UpdateTexSubImage(context, texture, teximage, lev, palette, scissor, srcbpr) \
  274.     LP7A4(0x174, ULONG, W3D_UpdateTexSubImage, W3D_Context *, context, a0, W3D_Texture *, texture, a1, void *, teximage, a2, ULONG, lev, d1, ULONG *, palette, a3, W3D_Scissor*, scissor, d7, ULONG, srcbpr, d0, \
  275.     , WARP3D_BASE_NAME)
  276.  
  277. #define W3D_UploadTexture(context, texture) \
  278.     LP2(0x90, ULONG, W3D_UploadTexture, W3D_Context *, context, a0, W3D_Texture *, texture, a1, \
  279.     , WARP3D_BASE_NAME)
  280.  
  281. #define W3D_WaitIdle(context) \
  282.     LP1NR(0x48, W3D_WaitIdle, W3D_Context *, context, a0, \
  283.     , WARP3D_BASE_NAME)
  284.  
  285. #define W3D_WriteStencilPixel(context, x, y, st) \
  286.     LP4(0x150, ULONG, W3D_WriteStencilPixel, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, st, d2, \
  287.     , WARP3D_BASE_NAME)
  288.  
  289. #define W3D_WriteStencilSpan(context, x, y, n, st, mask) \
  290.     LP6(0x156, ULONG, W3D_WriteStencilSpan, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, n, d2, ULONG, st, a1, UBYTE, mask, a2, \
  291.     , WARP3D_BASE_NAME)
  292.  
  293. #define W3D_WriteZPixel(context, x, y, z) \
  294.     LP4NR(0x15c, W3D_WriteZPixel, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, W3D_Double *, z, a1, \
  295.     , WARP3D_BASE_NAME)
  296.  
  297. #define W3D_WriteZSpan(context, x, y, n, z, maks) \
  298.     LP6NR(0x162, W3D_WriteZSpan, W3D_Context *, context, a0, ULONG, x, d0, ULONG, y, d1, ULONG, n, d2, W3D_Double, z, a1, UBYTE, maks, a2, \
  299.     , WARP3D_BASE_NAME)
  300.  
  301. #endif /* !_INLINE_WARP3D_H */
  302.